package com.luck.pf.security.menu.logic;

import java.util.List;

import com.luck.org.entity.SysLog;
import com.luck.org.entity.SysMenu;
import com.luck.pf.common.entity.UserBean;
import com.luck.pf.framework.logic.IBaseLogic;
import com.luck.pf.security.menu.qry.MenuQry;

/**
 * 说明:
 * Copyright: Copyright (c) 2010
 * @author zhangwr 2011-8-10 下午02:39:46
 * @version 1.0
 */
public interface IMenuLogic extends IBaseLogic {
	/**
	 * 查出需要保护的URL
	 * @param qry
	 * @return
	 * @throws Exception
	 */
	public List<SysMenu> findAuthMenu(MenuQry qry);
	/**
	 * 查询此用户具有的权限
	 * @param loginname
	 * @return
	 */
	public List<Long> findUserAuth(String loginname);
	/**
	 * 根据角色id，读取所有权限菜单
	 * @param roleId
	 * @return
	 */
	public List<SysMenu> findAuthByRoleId(Long roleId);
	/**
	 * 查询出此用户具有的菜单，根据flag
	 * @param loginname
	 * @param sysflag系统启动时设置的菜单权限,根菜单：ROOT,后台管理ROOT_ORG,业务对象:ROOT_RES,前台应用:ROOT_BS
	 * @param userFlag用户资料设置的权限
	 * @return
	 */
	public List<SysMenu> findUserMenu(String loginname,String systemFlag, String userFlag);
	/**
	 * 根据flag,读出发其下所有的菜单项
	 * @param rootFlag
	 * @return
	 */
	public List<SysMenu> findMenuByFlag(String systemFlag, String userFlag);
	public SysMenu saveMenu(SysMenu menu) throws Exception;
	public String deleteMenu(SysMenu menu,UserBean userBean, SysLog log) throws Exception;
}
